Raffinement temporel et exécution parallèle dans un langage synchrone fonctionnel

نویسنده

  • Cédric Pasteur
چکیده

The generation of efficient sequential code for synchronous data-flow languages raises twointertwined issues: control and memory optimization. While the former has been extensivelystudied, for instance in the compilation of LUSTRE and SIGNAL, the latter has only been addressedin a restricted manner. Yet, memory optimization becomes a pressing issue when arrays are addedto such languages.This article presents a two-level solution to the memory optimization problem. It combines acompile-time optimization algorithm, reminiscent of register allocation, paired with languageannotations on the source given by the designer. Annotations express in-place modificationsand control where allocation is performed. Moreover, they allow external functions performingin-place modifications to be safely imported. Soundness of annotations is guaranteed by asemilinear type system and additional scheduling constraints. A key feature is that annotationsfor well-typed programs do not change the semantics of the language: removing them may leadto less efficient code but will not alter the semantics.The method has been implemented in a new compiler for a LUSTRE-like synchronous languageextended with hierarchical automata and arrays. Experiments show that the proposed approachremoves most of the unnecessary array copies, resulting in faster code that uses less memory.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Un langage explicitement parallèle fonctionnel pur d’ordre supérieur

Nous présentons le noyau d’un langage explicitement parallèle et fonctionnel pur d’ordre supérieur CDS*. Il est basé sur des structures de données concrètes explicitement distribuées. Nous donnons un aperçu de la sémantique dénotationnelle, opérationnelle et d’une sémantique de réécriture qui la réalise. Des exemples illustrant l’expressivité du langage ainsi que la simulation de leur exécution...

متن کامل

ReactiveML, un langage fonctionnel pour la programmation réactive

RÉSUMÉ. La programmation de systèmes réactifs tels que les simulateurs de systèmes dynamiques ou les jeux vidéo est une tâche difficile. Les techniques classiques pour programmer ces systèmes sont fondées sur l’utilisation de bibliothèques de threads ou de programmation événementielle. Nous introduisons ici le langage REACTIVEML comme une alternative à ces pratiques. Le langage est une extensio...

متن کامل

Exécution efficace de programmes ReactiveML

ReactiveML est un langage dédié à la programmation de systèmes combinant des parties algorithmiques et réactives. Il s’agit d’une extension de ML avec des constructions pour la concurrence inspirées des langages synchrones. Celles-ci permettent d’obtenir une très grande expressivité, mais leur implantation efficace représente un défi. Dans cet article, nous présentons l’implantation de Reactive...

متن کامل

Une méthode de formalisation progressive des exigences basée sur un modèle simulable

RÉSUMÉ. Les exigences d’un logiciel, souvent rédigées en langage naturel, sont à la base des phases de conception et de test fonctionnel. Le langage naturel est par nature ambigu, et les exigences peuvent donc être différemment interprétées lors de la construction et de la validation du logiciel. C’est pourquoi nous proposons une méthode de raffinement progressif des exigences vers des modèles ...

متن کامل

Représentation et manipulation de structures topologiques dans un langage fonctionnel

RÉSUMÉ. Le calcul spatial est un domaine de recherche qui vise à développer des formalismes, des langages et des architectures matérielles qui permettent d’appréhender la notion d’espace en informatique. Nous présentons MGS, un langage de programmation déclaratif dédié à la représentation et à la manipulation de structures spatiales arbitrairement complexes. Afin d’atteindre ce but, nous avons ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013